from redis import StrictRedis  # 严肃的
import logging


#  配置文件： 1.秘钥,2.数据库, 3.session结合redis相关配置, 4.工厂模式与否
class Config():
    DEBUG = True
    LOG_LEVEL = logging.DEBUG

    SECRET_KEY = 'qo3TsHrQ/YgK1X6HTleKP6mZ+WnLTUV7mdTzfiuyHJ4='
    SQLALCHEMY_DATABASE_URI = 'mysql://root:@localhost/info2'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

    # 因为要保持会话，选择存储位置为redis 给Session配置redis参数---在这里实例化redis，让它成为Session的属性
    SESSION_TYPE = 'redis'
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    SESSION_USE_SIGNER = True
    PERMANENT_SESSION_LIFETIME = 86400


class DevelopmentModel(Config): # 注意这里要将Config类作为参数
    DEBUG = True
    LOG_LEVEL = logging.DEBUG


class ProductionModel(Config):
    DEBUG = False
    LOG_LEVEL = logging.ERROR


config = {
    'development': DevelopmentModel,
    'production':  ProductionModel
}


'''
配置类：
        数据库
        session
        模式

基本都是基础参数配置，功能配置例如日志/命令行 在分区模块中
'''